#include"compile_run.hpp"
#include"../comm/httplib.h"
using namespace ns_compile_ans_run;
using namespace httplib;
void Usage(std::string proc)
{
    std::cerr<<"Usage:"<<"\n\t"<<proc<<" port"<<std::endl;
}
int main(int argc,char*argv[])
{
    if(argc!=2)
    {
        Usage(argv[0]);
        return 1;
    }
    Server svr;
    svr.Get("/hello",[](const Request &req,Response &resp){
       //用于基本测试
        resp.set_content("hello,你好","text/plain;charset=utf-8");
    });
    //形成网络服务
    svr.Post("/compile_and_run",[](const Request &req,Response &resp){
       //用户的请求转化成string json；
       std::string in_json=req.body;
       std::string out_json;
       if(!in_json.empty())
       {
            CompileAndRun::start(in_json,&out_json);
            resp.set_content(out_json,"application/json;charset=utf-8");
       }   
    });
    svr.listen("0.0.0.0",atoi(argv[1]));
    return 0;
}